/* tslint:disable */
/* eslint-disable */

import React, { CSSProperties, SVGAttributes, FunctionComponent } from 'react';
import { getIconColor } from './helper';

interface Props extends Omit<SVGAttributes<SVGElement>, 'color'> {
  size?: number;
  color?: string | string[];
}

const DEFAULT_STYLE: CSSProperties = {
  display: 'block',
};

const Iconshezhi: FunctionComponent<Props> = ({ size, color, style: _style, ...rest }) => {
  const style = _style ? { ...DEFAULT_STYLE, ..._style } : DEFAULT_STYLE;

  return (
    <svg viewBox="0 0 1024 1024" width={size + 'rem'} height={size + 'rem'} style={style} {...rest}>
      <path
        d="M315.707 206.204l-29.273-29.147c-2.581-2.581-5.594-2.961-7.163-2.961s-4.582 0.38-7.132 2.931l-94.363 94.308c-2.555 2.555-2.939 5.539-2.941 7.09-0.001 1.545 0.376 4.517 2.917 7.058l49.24 49.803c21.5-48.115 51.519-91.587 88.142-128.501 0.19-0.194 0.38-0.388 0.573-0.581zM177.313 739.082c-3.916 3.915-3.916 10.276-0.007 14.185l94.305 94.319c2.552 2.552 5.532 2.933 7.081 2.933 1.547 0 4.522-0.381 7.07-2.928l30.197-29.967c-0.19-0.19-0.377-0.383-0.567-0.573-36.552-36.781-66.544-80.088-88.072-128.023l-50.007 50.054zM446.117 104c-5.631 0-9.117 5.67-9.117 10.923v5.46A430.28 430.28 0 0 1 476.427 104h-30.31zM195.944 437h-80.74c-5.07 0-10.203 3.036-10.203 8.837v133.366c0 5.402 4.577 9.797 10.203 9.797h81.166c-4.509-25.056-6.866-50.86-6.866-77.214a435.504 435.504 0 0 1 6.44-74.786zM437 903.189v6.095c0 5.721 3.749 9.716 9.117 9.716h28.717A430.491 430.491 0 0 1 437 903.189z"
        fill={getIconColor(color, 0, '#FFFFFF')}
      />
      <path
        d="M614.664 944.433C623.909 935.102 629 922.62 629 909.285v-68.332c10.95-3.768 21.751-8.177 32.853-13.419l48.359 48.345c9.444 9.443 22.011 14.645 35.386 14.645 8.388 0 16.456-2.047 23.637-5.9a50.07 50.07 0 0 0 12.559-9.156l94.337-94.306c19.502-19.503 19.509-51.228 0.029-70.707l-46.6-46.692c5.709-11.45 10.683-22.969 14.999-34.762h65.005C937.374 629 960 606.661 960 579.203V445.837c0-13.546-5.47-26.081-15.4-35.295C935.187 401.81 922.744 397 909.563 397h-60.755c-4.21-13.249-9.369-26.256-15.708-39.645l42.645-42.879c9.445-9.445 14.646-22.029 14.646-35.434 0-13.405-5.202-25.989-14.642-35.428l-94.309-94.382a50.218 50.218 0 0 0-12.38-9.073c-7.225-3.918-15.349-6.003-23.793-6.003-13.338 0-25.877 5.195-35.28 14.599l-40.82 40.659a348.254 348.254 0 0 0-40.168-16.892v-57.599C629 86.844 606.787 64 579.483 64H446.117C419.034 64 397 86.844 397 114.923v27.108c-0.334 0.204-0.667 0.411-1 0.616v29.855a349.348 349.348 0 0 0-40.474 16.902l-40.84-40.663c-9.445-9.445-22.023-14.646-35.416-14.646-13.394 0-25.971 5.201-35.413 14.642l-94.363 94.308c-9.442 9.442-14.649 21.994-14.661 35.343-0.012 13.344 5.168 25.89 14.587 35.333l42.277 42.761c-6.542 13.715-11.829 26.996-16.129 40.518h-60.366C87.052 397 65 418.452 65 445.837v133.366C65 606.661 87.521 629 115.203 629h64.612a338.51 338.51 0 0 0 15.394 35.574l-46.187 46.229c-9.445 9.445-14.647 22.008-14.647 35.374s5.202 25.929 14.646 35.373l94.305 94.318c9.447 9.446 22.007 14.649 35.366 14.649 13.356 0 25.912-5.201 35.3-14.59L362.8 827.49c11.057 5.189 22.063 9.65 33.2 13.467v39.965c0.333 0.205 0.666 0.412 1 0.616v27.744c0 27.88 21.575 49.718 49.117 49.718h133.367c13.379 0 25.873-5.174 35.18-14.567zM437 909.284v-6.095c-0.333-0.158-0.667-0.315-1-0.474v-91.653l-14.449-4.174c-18.369-5.308-35.517-12.278-53.966-21.938l-12.965-6.789-39.228 38.89c0.189 0.191 0.377 0.383 0.567 0.573l-30.197 29.967c-2.547 2.547-5.523 2.928-7.07 2.928-1.549 0-4.529-0.381-7.081-2.933l-94.305-94.319c-3.909-3.908-3.909-10.27 0.007-14.185l50.007-50.054c-0.126-0.281-0.25-0.563-0.375-0.844l17.441-17.467-7.229-13.148c-10.275-18.688-17.743-36.01-23.503-54.513L209.278 589h-94.076c-5.626 0-10.203-4.395-10.203-9.797V445.837c0-5.802 5.133-8.837 10.203-8.837H206.367l3.979-14.811c5.478-20.388 12.873-39.221 23.275-59.268l6.703-12.918-13.71-13.873 0.376-0.844-49.24-49.803c-2.542-2.541-2.918-5.512-2.917-7.058 0.002-1.551 0.386-4.535 2.941-7.09l94.363-94.308c2.55-2.551 5.563-2.931 7.132-2.931s4.582 0.38 7.163 2.961l29.273 29.147-0.574 0.581 32.695 32.489 13.14-7.287a305.394 305.394 0 0 1 60.748-25.55l14.285-4.26v-81.318c0.333-0.159 0.667-0.316 1-0.474v-5.46c0-5.253 3.486-10.923 9.117-10.923H578.256c5.189 0 9.742 5.104 9.742 10.923v86.787l14.336 4.233c21.124 6.238 41.054 14.582 60.928 25.508l13.132 7.22 61.85-61.605c2.532-2.532 5.487-2.911 7.023-2.911 2.678 0 5.2 1.048 7.097 2.945l94.298 94.392c3.879 3.878 3.876 10.434-0.04 14.35l-62.748 63.057 6.801 12.99c11.06 21.122 18.388 39.683 23.764 60.183L818.354 437h90.818c5.322 0 10.828 3.306 10.828 8.837v133.366c0 5.219-5.06 9.797-10.828 9.797h-93.549l-4.427 13.949c-6.082 19.162-13.964 37.358-24.098 55.63l-7.306 13.173 67.262 67.357c2.545 2.545 2.924 5.524 2.924 7.074-0.001 1.553-0.384 4.538-2.938 7.092l-94.335 94.314c-2.552 2.552-5.549 2.933-7.108 2.933-1.558 0-4.553-0.381-7.104-2.932l-68.872-68.851-12.997 6.744c-18.769 9.738-35.969 16.696-54.13 21.896L588 811.531v97.753c0 5.539-4.188 9.716-9.742 9.716H446.117c-5.368 0-9.117-3.995-9.117-9.716z"
        fill={getIconColor(color, 1, '#333333')}
      />
      <path
        d="M578.258 919c5.554 0 9.742-4.177 9.742-9.716v-97.753l14.495-4.15c18.161-5.2 35.361-12.158 54.13-21.896l12.997-6.744 68.872 68.851c2.551 2.551 5.546 2.932 7.104 2.932 1.56 0 4.557-0.381 7.108-2.933l94.335-94.314c2.554-2.554 2.937-5.539 2.938-7.092 0-1.55-0.379-4.529-2.924-7.074l-67.262-67.357 7.306-13.173c10.134-18.271 18.016-36.468 24.098-55.63L815.623 589h93.549c5.769 0 10.828-4.578 10.828-9.797V445.837c0-5.532-5.506-8.837-10.828-8.837h-90.818l-3.914-14.927c-5.376-20.5-12.704-39.062-23.764-60.183l-6.801-12.99 62.748-63.057c3.916-3.916 3.919-10.472 0.04-14.35l-94.298-94.392a9.98 9.98 0 0 0-7.097-2.945c-1.536 0-4.491 0.378-7.023 2.911l-61.85 61.605-13.132-7.22c-19.874-10.927-39.804-19.271-60.928-25.508L588 201.71v-86.787c0-5.819-4.553-10.923-9.742-10.923H476.427A430.397 430.397 0 0 0 437 120.383c-0.333 0.158-0.667 0.315-1 0.474v81.318l-14.285 4.26a305.477 305.477 0 0 0-60.748 25.55l-13.14 7.287-32.695-32.489c-36.623 36.914-66.641 80.386-88.142 128.501l-0.376 0.844 13.71 13.873-6.703 12.918c-10.402 20.047-17.798 38.88-23.275 59.268L206.368 437h-10.425a435.805 435.805 0 0 0-6.441 74.786c0 26.354 2.357 52.158 6.866 77.214H209.278l4.375 14.056c5.76 18.503 13.229 35.825 23.503 54.513l7.229 13.148-17.441 17.467c0.125 0.281 0.249 0.563 0.375 0.844 21.528 47.934 51.519 91.242 88.072 128.023l39.228-38.89 12.965 6.789c18.449 9.66 35.597 16.631 53.966 21.938l14.45 4.174v91.653c0.333 0.159 0.667 0.316 1 0.474A430.187 430.187 0 0 0 474.834 919h103.424z m134.261-412.314c0 110.341-89.77 200.11-200.11 200.11-110.341 0-200.11-89.77-200.11-200.11 0-110.341 89.769-200.11 200.11-200.11 110.34-0.001 200.11 89.768 200.11 200.11z"
        fill={getIconColor(color, 2, '#53AFFD')}
      />
      <path
        d="M312.298 506.686c0 110.341 89.769 200.11 200.11 200.11 110.341 0 200.11-89.77 200.11-200.11 0-110.341-89.77-200.11-200.11-200.11-110.341-0.001-200.11 89.768-200.11 200.11z m40 0c0-88.211 71.706-159.988 159.89-160.108 88.184 0.12 159.89 71.896 159.89 160.108s-71.706 159.988-159.89 160.108c-88.184-0.121-159.89-71.897-159.89-160.108z"
        fill={getIconColor(color, 3, '#333333')}
      />
    </svg>
  );
};

Iconshezhi.defaultProps = {
  size: 18,
};

export default Iconshezhi;
